Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Identify interesting Jars to decomp and improve decomp performance #352

Merged
merged 8 commits into from
Oct 6, 2023

Conversation

pranavgaikwad
Copy link
Contributor

@pranavgaikwad pranavgaikwad commented Oct 4, 2023

Fixes #317
Fixes #319

Summary of changes:

  • When decompiling binaries, for every JAR we find, we attempt to look at its metadata to get artifact and group. If we dont find metadata, we look it up on maven central using its sha. For all such JARs that we find accurate information about, we add them to java project's pom as dependencies. For all other JARs, we send them to decompile.

  • In decompile, we are running concurrently. Also, instead of decompiling each class file individually, we are now decompiling whole JAR using fernflower and then exploding it (this is faster than individual .class file decompile)

  • Prior to initing Java provider, we are now downloading sources for all dependencies. If we find any that don't have sources, we are passing them to decompile.

  • When getting dependencies for a binary, we are now using same logic from step 1 to get more fine grained info for a JAR.

@pranavgaikwad pranavgaikwad marked this pull request as draft October 4, 2023 15:18
@pranavgaikwad pranavgaikwad force-pushed the decompileImprovements branch 3 times, most recently from 1876afe to 4457481 Compare October 4, 2023 19:54
djzager and others added 2 commits October 4, 2023 15:55
Signed-off-by: Pranav Gaikwad <[email protected]>
@pranavgaikwad pranavgaikwad force-pushed the decompileImprovements branch from 4457481 to d3a4f11 Compare October 4, 2023 19:55
Signed-off-by: Pranav Gaikwad <[email protected]>
@pranavgaikwad pranavgaikwad force-pushed the decompileImprovements branch from eba1e54 to 76bbe7a Compare October 5, 2023 12:23
pranavgaikwad and others added 3 commits October 5, 2023 08:30
Signed-off-by: Pranav Gaikwad <[email protected]>
Signed-off-by: David Zager <[email protected]>
Signed-off-by: Pranav Gaikwad <[email protected]>
@pranavgaikwad pranavgaikwad force-pushed the decompileImprovements branch 2 times, most recently from f62c3f7 to d4b5a1d Compare October 6, 2023 18:28
djzager and others added 2 commits October 6, 2023 14:33
Signed-off-by: David Zager <[email protected]>
@pranavgaikwad pranavgaikwad force-pushed the decompileImprovements branch from d4b5a1d to d29438e Compare October 6, 2023 18:33
@pranavgaikwad pranavgaikwad marked this pull request as ready for review October 6, 2023 18:33
@pranavgaikwad pranavgaikwad changed the title ✨ Decompile concurrently ✨ Identify interesting Jars to decomp and improve decomp performance Oct 6, 2023
Copy link
Contributor

@shawn-hurley shawn-hurley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@pranavgaikwad pranavgaikwad merged commit 199aed0 into konveyor:main Oct 6, 2023
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Issue not found in internal dependency Improve decompilation to include interesting JARs
3 participants